#ifndef __SQLIST__
#define __SQLIST__
/**
 * 线性表，这里只有声明
 * 对于具体实现，不同的物理结构有不同的实现方式
 */
#include<stdbool.h>
#include<stdio.h>
#include<stdlib.h>

typedef int ElementType;
/**
 * 线性存储
 */
#define MAX_LENGTH 100
typedef struct{
    ElementType data[MAX_LENGTH];
    int size;
} SqList;

/**
 * 链式存储
 */
typedef struct ChainNode{
    ElementType data;
    struct ChainNode *next;
}SqList_CHAIN;

void initList(SqList *l);
int length(SqList* l);
int locateElement(SqList l);
ElementType getElem(SqList l);
void listInsert(SqList *l);
void listDelete(SqList *l);
void printList(SqList l);
bool empty(SqList l);
bool destory(SqList *l);


#endif